#include <iostream>
using namespace std;
int main()
{
    int a = 10;
    const int *p = &a;
    const int ca = 30;
    int *q;
    cout << "a 的地址为：\t" << &a << "\t a 的值为：\t" << a << endl;
    cout << "*p 指向的地址为: " << p << "\t *p 的值为：\t" << *p << endl;
    q = const_cast<int *>(p);
    *q = 20; // 变量 a 的值被修改 为 20
    cout << "a 的地址为： \t" << &a << "\t a 的值为：\t" << a << endl;
    cout << "*p 指向的地址为:" << p << "\t *p 的值为：\t" << *p << endl;
    cout << "*q 指向的地址为:" << q << "\t *q 的值为：\t" << *q << endl;
    cout << "分界线" << endl;
    p = &ca; // 指向新的值
    q = const_cast<int *>(p);
    *q = 40;
    cout << "ca 的地址为： \t" << &ca << "\t ca 的值为： \t" << ca << endl;
    cout << "*p 指向的地址为:" << p << "\t *p 的值为： \t" << *p << endl;
    cout << "*q 指向的地址为:"<<q<<"\t*q 的值为： \t" << *q << endl;

    system("pause");
    return 0;
}